package com.zw.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zw.core.domain.entity.SysUser;
import com.zw.dto.UserForgotDto;
import com.zw.dto.UserLoginDto;
import com.zw.dto.UserRegisterDto;
import com.zw.vo.UserLoginVo;

public interface UserService extends IService<SysUser> {

    /**
     * 用户注册
     *
     * @param userRegisterDto
     */
    boolean register(UserRegisterDto userRegisterDto);

    /**
     * 用户激活
     *
     * @param username
     * @param email
     */
    boolean activate(String username, String email);

    /**
     * 用户登录
     *
     * @param userLoginDto
     * @return
     */
    UserLoginVo login(UserLoginDto userLoginDto);

    /**
     * 重置密码
     *
     * @param userForgotDto
     * @return
     */
    boolean forgot(UserForgotDto userForgotDto);

    /**
     * 发送验证码
     *
     * @param email
     * @return
     */
    boolean sendCode(String email);

    /**
     * 获取用户信息
     * @return
     */
    UserLoginVo getUserInfo();
}
